/**
 * 数据库配置
 * 集中管理数据库连接配置信息
 * 使用环境变量来存储敏感信息，提高安全性
 * 在 Nuxt 中使用 useRuntimeConfig 来访问运行时配置
 */
export const getDatabaseConfig = () => {
  const config = useRuntimeConfig()
  return {
    host: config.dbHost,
    user: config.dbUser,
    password: config.dbPassword,
    database: config.dbName
  }
}

/**
 * 创建数据库连接
 * 使用预定义的配置信息创建MySQL连接
 * @returns {Promise<mysql.Connection>} 数据库连接对象
 * @example
 * const connection = await createDatabaseConnection()
 * try {
 *   // 使用连接执行查询
 *   const [rows] = await connection.execute('SELECT * FROM table')
 * } finally {
 *   // 重要：使用完成后必须关闭连接
 *   await connection.end()
 * }
 */
export async function createDatabaseConnection() {
  const mysql = await import('mysql2/promise')
  const config = getDatabaseConfig()
  return await mysql.createConnection(config)
}